<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>3_回调ref中回调执行次数的问题</title>
</head>
<body>
  <!--准备好一个 div-->
  <div id="test"></div>

  <!--引入 react 核心库-->
  <script type="text/javascript" src="../js/16.8.4/react.development.js"></script>
  <!--引入 react-dom 用于支持 react 操作 DOM-->
  <script type="text/javascript" src="../js/16.8.4/react-dom.development.js"></script>
  <!--引入 babel 用于将 jsx 转为 js-->
  <script type="text/javascript" src="../js/16.8.4/babel.min.js"></script>

  <script type="text/babel">
    // 创建组件
    class Demo extends React.Component{
      state = {isHot:true}

      showInfo = ()=>{
        const {info} = this
        alert(info.value)
      }

      changeWeather = ()=>{
        // 获取原来的状态
        const {isHot} = this.state
        // 更新状态
        this.setState({isHot:!isHot})
      }

      saveInput = (currentNode)=>{
        this.info = currentNode
        console.log('@',currentNode)
      }
      render(){
        const {isHot} = this.state
        return(
            <div>
              <h2>今天天气很{isHot ? '炎热':'凉爽'}</h2>
              {/*<input ref={(currentNode)=>{this.info=currentNode;console.log('@',currentNode)}} type="text"/><br/>*/}
              <input ref={this.saveInput} type="text"/><br/>
              <button onClick={this.showInfo}>点我提示输入的数据</button><br/>
              <button onClick={this.changeWeather}>点我切换天气</button>
            </div>
        )
      }
    }
    // 渲染组件到页面
    ReactDOM.render(<Demo/>,document.getElementById('test'))
  </script>
</body>
</html>
